Mobile telephony devices utilizing wireless communication protocols are ubiquitous. Many of these devices utilize one of the competing cellular networks (e.g., GSM or CDMA) to place and receive telephone calls to other telephony endpoint devices. A telephony endpoint device may include another mobile telephony device on the same or another cellular network, a Voice-over-IP (VoIP) telephony device, and/or a plain old telephone service (POTS) telephony device. Each of these telephony endpoint devices may use a different access network but all are interfaced at some point to allow for communication among the different networks.
Recently, there has been introduced another type of mobile telephony device, one that is capable of utilizing multiple different networks depending on the current location or network conditions pertaining to the mobile telephony device. Such a mobile telephony device may be characterized as a hybrid mobile device due to its capability of making and receiving telephone calls on at least two distinct networks. Some hybrid mobile devices include the ability to start or establish a telephone call on one network (e.g., an IP based VoIP network over a wireless fidelity (WiFi) connection or a cellular data connection like Long Term Evolution (LTE)) and handoff the call to a second network (e.g., a circuit-switched cellular network) when conditions on the original network degrade. Rather than dropping the call, the hybrid mobile device, in conjunction with a network based server, may switch to a circuit-switched cellular connection prior to severing the VoIP connection thereby ensuring that the hybrid mobile device stays connected to the other telephony endpoint and the call is not dropped.
Determining when to initiate the handoff to avoid dropping a call can vary based on a number of factors, including but not limited to network conditions, signal strength, location and the like and is typically set based on manufacturer or carrier default settings. The aforementioned factors conspire to affect the user experience. However, network conditions may be fleeting and/or somewhat tolerable even if not perfect. Thus, users may be able to tolerate a certain degree of annoyance before wanting a call to handoff to another network. Incorporating annoyance tolerance into the handoff determination may improve the user experience. As such, described herein are methods, systems, and techniques for determining a handoff threshold based on various communication link parameters using annoyance tolerance as a triggering criteria.